package com.zmn.plat.dubbo.interfaces.push;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;

import com.zmn.common.dto2.ResponseDTO;
import com.zmn.plat.dubbo.dto.push.PushNoticeAppDRO;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

/**
 * 描述: 公告推送远程接口类
 *
 * @author wangjie
 * @since 2020/3/31
 **/
@Api(value = "公告推送服务", tags = {"公告推送"})
public interface PushNoticeRemoteService {

    /**
     * 描述: 获取app推送公告
     *
     * @param engineerId
     *            工程师id
     * @param putType
     *            推送类型
     * @param putApp
     *            推送app
     * @return com.zmn.common.dto2.ResponseDTO<com.zmn.plat.dubbo.dto.push.PushNoticeAppDRO>
     * @author wangjie
     * @since 2020/3/31
     **/
    @ApiOperation(value = "获取app推送公告", response = ResponseDTO.class, notes = "", tags = {"公告推送"})
    ResponseDTO<PushNoticeAppDRO> listPushNoticeApp(@NotNull(message = "engineerId不能为空") @Positive(message = "engineerId必须为大于0的正整数") @ApiParam(value = "工程师id", required = true) Integer engineerId,
        @NotNull(message = "putType不能为空") @Positive(message = "putType必须为大于0的正整数") @ApiParam(value = "推送类型", required = true) Integer putType,
        @NotNull(message = "putApp不能为空") @Positive(message = "putApp必须为大于0的正整数") @ApiParam(value = "推送app", required = true) Integer putApp);

}
